﻿using Fortunate.ViewModel;
using Fortunate.IService.BASE;
using Fortunate.Application.Entities;
using Fortunate.ViewModel.UserModule;

namespace Fortunate.IService
{
    public interface IUsersService : IBaseServices<Application.Entities.Users>
    {
        /// <summary>
        /// 获取用户信息列表
        /// </summary>
        /// <returns></returns>
        Task<DataModel<Users>> GetUsersListAsync(UsersSearch search);

        /// <summary>
        /// 获取用户信息
        /// </summary>
        /// <returns></returns>
        Task<Application.Entities.Users> GetUsersObjectAsync(Guid id);

        /// <summary>
        /// 添加用户信息
        /// </summary>
        /// <param name="users"></param>
        /// <returns></returns>
        Task<bool> InsertUsersAsync(Application.Entities.Users users);

        /// <summary>
        /// 编辑用户信息
        /// </summary>
        /// <param name="users"></param>
        /// <returns></returns>
        Task<bool> UpdateUsersAsync(Application.Entities.Users users);

        /// <summary>
        /// 冻结账号
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<bool> DeleteUsersAsync(UserInput input);
    }
}
